Priority Inheritance Protocol Proved Correct
نویسندگان
چکیده
In real-time systems with threads, resource locking and priority scheduling, one faces the problem of Priority Inversion. This problem can make the behaviour of threads unpredictable and the resulting bugs can be hard to find. The Priority Inheritance Protocol is one solution implemented in many systems for solving this problem, but the correctness of this solution has never been formally verified in a theorem prover. As already pointed out in the literature, the original informal investigation of the Property Inheritance Protocol presents a correctness “proof” for an incorrect algorithm. In this paper we fix the problem of this proof by making all notions precise and implementing a variant of a solution proposed earlier. Our formalisation in Isabelle/HOL uncovers facts not mentioned in the literature, but also shows how to efficiently implement this protocol. Earlier correct implementations were criticised as too inefficient. Our formalisation is based on Paulson’s inductive approach to verifying protocols.
منابع مشابه
Priority Inheritance and Ceilings for Distributed Mutual Exclusion
The contributions of this paper are threefold. First, a solution to the problem of prioritized mutual exclusion in a distributed system is proved correct. This protocol is based on fewer requirements than prioritized extensions of other protocols and outperforms other protocols with an average complexity of (log n) and a worst-case complexity of O(n) messages for n nodes. Second, the concept of...
متن کاملResource Sharing in Reservation-Based Systems
In recent years, real-time operating systems began to support the resource reservation paradigm. This technique has proved to be very effective in providing QoS to both, real-time and legacy applications, ensuring that the temporal misbehavior of an application does not affect any other (temporal isolation). However, resource sharing in a reservation system is still not well understood, and can...
متن کاملModeling and Analysis of Real Time Fixed Priority Scheduling using UML 2.0
Real Time Systems (RTS) interact with their environments using time constrained input/output signals. A functional misbehavior or a deviation from the specified time constraints may have catastrophic consequences. Hence, ensuring the correctness of such systems is extremely important and necessary. The increasing complexities of now-a-days ubiquitous real time systems require using an adequate ...
متن کاملPriority Inheritance Protocols: An Approach to Real-Time Synchronization
AbstmctA direct application of commonly used synchronization primitives such as semaphores, monitors, or the Ada rendezvous can lead to uncontrolled priority inversion, a situation in which a higher priority job is blocked by lower priority jobs for an indefinite period of time. In this paper, we investigate two protocols belonging to the class of priority inheritance protocols, called the basi...
متن کاملPriority Inheritance Protocols: An Approach to Real-Time Synchronization
AbstmctA direct application of commonly used synchronization primitives such as semaphores, monitors, or the Ada rendezvous can lead to uncontrolled priority inversion, a situation in which a higher priority job is blocked by lower priority jobs for an indefinite period of time. In this paper, we investigate two protocols belonging to the class of priority inheritance protocols, called the basi...
متن کامل